// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
//

#pragma once

#define PROGRAM_NAME "Sketch"

#include "targetver.h"

// System files
#include <stdio.h>
#include <windows.h>
#include <stdlib.h>
#include <string.h>
#include <tchar.h>
#include <vector>
#include <stdlib.h>
#include <process.h>

// Local files
#include "freeglut.h"

// Our classes
#include "GUI.h"
#include "Renderer.h"
#include "Pad.h"

#define THIN    1
#define THICK   2

extern GUI *gui;
extern Renderer *renderer;
extern Pad *pad;

static GLfloat RED[3] = {1,0,0};
static GLfloat GREEN[3] = {0,0.75f,0.75f};
static GLfloat BLUE[3] = {0,0,1};
static GLfloat WHITE[3] = {1,1,1};
static GLfloat BLACK[3] = {0,0,0};
static GLfloat YELLOW[3] = {1,1,0};
static GLfloat CYAN[3] = {0,1,1};
static GLfloat MAGENTA[3] = {1,0,1};

static LPVOID glutFonts[7] = { 
                                GLUT_BITMAP_9_BY_15, 
                                GLUT_BITMAP_8_BY_13, 
                                GLUT_BITMAP_TIMES_ROMAN_10, 
                                GLUT_BITMAP_TIMES_ROMAN_24, 
                                GLUT_BITMAP_HELVETICA_10, 
                                GLUT_BITMAP_HELVETICA_12, 
                                GLUT_BITMAP_HELVETICA_18 
                            }; 

static float pixelToFloat(int val, int dim)
{
	return ((val / (float)glutGet(dim)) * 2.0f) - 1.0f;
}

static float dist(float x1, float y1, float x2, float y2)
{
    return sqrt(pow((x2-x1),2)+pow((y2-y1), 2));
}